<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>字符串练习</title>
  </head>

  <body>
    <script>
      // 1. 封装一个函数实现字符串翻转。
      let str = '12345';
      function fn1(str){
        let arr = str.split('');
        let arr1 = arr.sort(function(a,b){
          return b-a;
        })
        let str1 = arr1.join('')
        // console.log(str1);
        return str1
      }
      console.log(fn1(str));

      // 2. 字符串 digite = "0123456789", 把前 5 个字符分割出来， 返回个单字符的数组, 注意， 返回数组里面的数字是字符串类型, string.split()
      let digite = '0123456789';
      console.log(digite.split("",5));

      // 3.已知有字符串 foo=”get-element-by-id”,写一个 function 将其转化成驼峰表示法”getElementById”.

      let str3 = 'get-element-by-id';
      let arr1 = []
      function fn2(str){
        let arr = str.split('-');
        for(let i=0; i<arr.length; i++){
        arr1.push(arr[i].replace(arr[i][0],arr[i][0].toUpperCase()))
        
      }
        let str2 = arr1.join("").replace("G","g");
        return str2
      }
      
      console.log(fn2(str3));

      // 4.定义一个函数,将"今天是什么鬼天气，这么热，明天要去游泳！"里面的有"天"的下标输出(用 indexof())

      let str4 = '今天是什么鬼天气，这么热，明天要去游泳！';
      function fn3(str){
        let arr = [];
        let str0 = str.indexOf("天");
        arr.push(str0)
        let str1 = str.indexOf("天",str0+1);
        arr.push(str1)
        let str2 = str.indexOf("天",str1+1);
        arr.push(str2)
        return arr
      }
      console.log(fn3(str4));

      // 5.定义一个函数,将"今天是什么鬼天气，这么热，明天要去游泳！"里面的有"天"替换成"日"(用 replace())

      let str5 = '今天是什么鬼天气，这么热，明天要去游泳！';
      let str6 = str5.replace(/天/g,'日');
      console.log(str6);

      // 6.解析 URL Params 为对象，例如(https://www.baidu.com/s?ie=UTF-8&wd=letcode)

      // 返回结构如下:
      // {
      //     ie:"UTF-8",
      //     wd:"letcode"
      // }

      let url = 'https://www.baidu.com/s?ie=UTF-8&wd=letcode';
      let obj = new Object();
      let ie;
      let wd;
      function fn4(str){
        let i;
        let w;
        i = str.indexOf("UTF-8");
        w = str.indexOf("letcode");
        ie = str.slice(i,i+5)
        wd = str.slice(w,w+7)
        obj = {
          "ie":ie,
          "wd":wd
        }
        // obj['ie'] = ie;
        // obj['wd'] = wd;
        return obj
      }
      console.log(fn4(url));

      // 7.查找字符串中(abbcccddddd)出现最多的字符和个数

      let str7 = 'abbcccddddd';


      // 8. "hi javascript hi hello world!" 改成 "Hi Javascript! Hi Hello World!"

      let str8 = 'hi javascript hi hello world!';
      let arr8 = []
      function fn5(str){
        let arr = str.split(' ');
        for(let i=0; i<arr.length; i++){
        arr8.push(arr[i].replace(arr[i][0],arr[i][0].toUpperCase()))
        
        }
        let str8 = arr8.join(" ").replace("t","t!");
        return str8
      }
      
      console.log(fn5(str8));

      // 9. 把 "hi javascript!" 改成 "Hi Javascript!"
      let str9 = 'hi javascript';
      let arr10 = []
      function fn6(str){
        let arr = str.split(' ');
        for(let i=0; i<arr.length; i++){
        arr10.push(arr[i].replace(arr[i][0],arr[i][0].toUpperCase()))
        
        }
        let str10 = arr10.join(" ").concat("!")
        return str10
      }
      
      console.log(fn6(str9));

      // 10. 定义一个函数, 函数功能是检测字符串是否包含指定字符, (指定字符可以支持多个, 只要包含其中一个指定字符即返回结果)
      let str11 = "12345"
      function fn8(str, arr){
        let hh
        let oo = arr.forEach(function(e){
          hh = str.includes(e)
        })
        return hh
      }
      console.log(fn8(str11,["1","3"]));
    </script>
  </body>
</html>
